package com.bdmc.task.domain.bo;

import com.bdmc.task.domain.TaskPlanDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.bdmc.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 排班计划业务对象 task_work_plan
 *
 * @author bdmc
 * @date 2022-03-06
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TaskWorkPlanBo extends BaseEntity implements Cloneable{

    /**
     * 排班计划id
     */
    private Long workPlanId;

    /**
     * 排班计划名称
     */
    private String workPlanName;
    /**
     * 班组类型，1=人员排班，2=车辆排班
     */
    private String workPlanType;
    /**
     * 车辆排班时，车辆id
     */
    private Long carId;
    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 网格id
     */
    private Long fenceId;

    /**
     * 报警规则id
     */
    private Long alarmRuleId;

    /**
     * 工作对象id
     */
    private Long personId;

    /**
     * 计划日期
     */
    private String planMonth;

    /**
     * 备注
     */
    private String remark;


    /**
     * 多个车辆id
     */
    private String personIds;
    /**
     * 多个人员id
     */
    private String carIds;

    /**
     * 每日排班工作详细
     */
    private List<TaskPlanDetailBo> planDetailList;

    @Override
    public TaskWorkPlanBo clone() {
        try {
            // TODO: copy mutable state here, so the clone can't change the internals of the original
            return (TaskWorkPlanBo) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new AssertionError();
        }
    }
}
